home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / lang / ProcessBuilder.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.4 KB  |  135 lines

  1. package java.lang;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import java.util.Map;
  8.  
  9. public final class ProcessBuilder {
  10.    private List<String> command;
  11.    private File directory;
  12.    private Map<String, String> environment;
  13.    private boolean redirectErrorStream;
  14.  
  15.    public ProcessBuilder(List<String> var1) {
  16.       if (var1 == null) {
  17.          throw new NullPointerException();
  18.       } else {
  19.          this.command = var1;
  20.       }
  21.    }
  22.  
  23.    public ProcessBuilder(String... var1) {
  24.       this.command = new ArrayList(var1.length);
  25.  
  26.       for(String var5 : var1) {
  27.          this.command.add(var5);
  28.       }
  29.  
  30.    }
  31.  
  32.    public ProcessBuilder command(List<String> var1) {
  33.       if (var1 == null) {
  34.          throw new NullPointerException();
  35.       } else {
  36.          this.command = var1;
  37.          return this;
  38.       }
  39.    }
  40.  
  41.    public ProcessBuilder command(String... var1) {
  42.       this.command = new ArrayList(var1.length);
  43.  
  44.       for(String var5 : var1) {
  45.          this.command.add(var5);
  46.       }
  47.  
  48.       return this;
  49.    }
  50.  
  51.    public List<String> command() {
  52.       return this.command;
  53.    }
  54.  
  55.    public Map<String, String> environment() {
  56.       SecurityManager var1 = System.getSecurityManager();
  57.       if (var1 != null) {
  58.          var1.checkPermission(new RuntimePermission("getenv.*"));
  59.       }
  60.  
  61.       if (this.environment == null) {
  62.          this.environment = ProcessEnvironment.environment();
  63.       }
  64.  
  65.       assert this.environment != null;
  66.  
  67.       return this.environment;
  68.    }
  69.  
  70.    ProcessBuilder environment(String[] var1) {
  71.       assert this.environment == null;
  72.  
  73.       if (var1 != null) {
  74.          this.environment = ProcessEnvironment.emptyEnvironment(var1.length);
  75.  
  76.          assert this.environment != null;
  77.  
  78.          for(String var5 : var1) {
  79.             if (var5.indexOf(0) != -1) {
  80.                var5 = var5.replaceFirst("\u0000.*", "");
  81.             }
  82.  
  83.             int var6 = var5.indexOf(61, 1);
  84.             if (var6 != -1) {
  85.                this.environment.put(var5.substring(0, var6), var5.substring(var6 + 1));
  86.             }
  87.          }
  88.       }
  89.  
  90.       return this;
  91.    }
  92.  
  93.    public File directory() {
  94.       return this.directory;
  95.    }
  96.  
  97.    public ProcessBuilder directory(File var1) {
  98.       this.directory = var1;
  99.       return this;
  100.    }
  101.  
  102.    public boolean redirectErrorStream() {
  103.       return this.redirectErrorStream;
  104.    }
  105.  
  106.    public ProcessBuilder redirectErrorStream(boolean var1) {
  107.       this.redirectErrorStream = var1;
  108.       return this;
  109.    }
  110.  
  111.    public Process start() throws IOException {
  112.       String[] var1 = (String[])this.command.toArray(new String[this.command.size()]);
  113.  
  114.       for(String var5 : var1) {
  115.          if (var5 == null) {
  116.             throw new NullPointerException();
  117.          }
  118.       }
  119.  
  120.       String var7 = var1[0];
  121.       SecurityManager var8 = System.getSecurityManager();
  122.       if (var8 != null) {
  123.          var8.checkExec(var7);
  124.       }
  125.  
  126.       String var9 = this.directory == null ? null : this.directory.toString();
  127.  
  128.       try {
  129.          return ProcessImpl.start(var1, this.environment, var9, this.redirectErrorStream);
  130.       } catch (IOException var6) {
  131.          throw new IOException("Cannot run program \"" + var7 + "\"" + (var9 == null ? "" : " (in directory \"" + var9 + "\")") + ": " + var6.getMessage(), var6);
  132.       }
  133.    }
  134. }
  135.